package com.fs.iot.domain.mapper;

import com.baomidou.dynamic.datasource.annotation.DS;
import com.fs.iot.bean.dto.DeviceHistoryData;
import com.fs.iot.bean.query.DeviceHistoryDataAggQuery;
import com.fs.iot.bean.query.DeviceHistoryDataQuery;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 历史数据数据库操作服务 
 * @author Coder Generator 2025-03-22 20:51:27 
 **/
@Mapper
@DS("td")
public interface DeviceHistoryDataMapper {
    /**
     * 创建主表
     */
    void createMainTable();

    /**
     * 查询设备子表
     */
    List<Map<String, Object>> queryTable(@Param("deviceCode") String deviceCode);

    /**
     * 创建设备子表
     * @param deviceCode 设备编码
     */
    void createTable(@Param("deviceCode") String deviceCode);

    /**
     * 批量插入设备工况数据
     */
    void batchInsert(@Param("deviceCode") String deviceCode, @Param("list") List<DeviceHistoryData> subList);

    /**
     * 查询
     */
    List<DeviceHistoryData> query(DeviceHistoryDataQuery query);

    List<DeviceHistoryData> aggQuery(DeviceHistoryDataAggQuery query);
}